package entidades;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

import excepciones.VuelosException;

public interface IFlightController {

	public void addAirport(Aeropuerto airport) throws VuelosException;

	public void deleteAirport(Aeropuerto airport) throws VuelosException;

	public List<Aeropuerto> getAirports();

	public String checkAirport(Aeropuerto airport);

	public void addFlight(Vuelo vuelo) throws VuelosException;

	public List<Vuelo> getFlights();

	public void deleteFlight(Vuelo flight) throws VuelosException;

	public HashMap<String, List<Vuelo>> getRoutes(Aeropuerto origen, Aeropuerto destino, int cantAsientos, int esperaMax, Date fecha) throws VuelosException;
	
	public void setflightSeatus(Vuelo flight, Estado status) throws VuelosException;

	public void reservar(Reserva reserva) throws VuelosException;

	public List<Reserva> getReservations();

	public void cancelReservation(Reserva reservation);

	public Estado checkFlight(Vuelo flight, Date actualTime);

}
